home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / devices / keymap.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  2KB  |  93 lines

  1. #ifndef DEVICES_KEYMAP_H
  2. #define DEVICES_KEYMAP_H 1
  3. /*
  4. ** keymap.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/03/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for keymap.h
  17. */
  18. #ifndef KeyMapPtr
  19. #define KeyMapPtr ADDRESS
  20. #endif
  21. #ifndef KeyMapNodePtr
  22. #define KeyMapNodePtr ADDRESS
  23. #endif
  24. #ifndef KeyMapResourcePtr
  25. #define KeyMapResourcePtr ADDRESS
  26. #endif
  27. /*
  28. ** End of StructPointer defines for keymap.h
  29. */
  30.            
  31. #ifndef EXEC_NODES_H
  32. #include    <exec/nodes.h>
  33. #endif
  34. #ifndef EXEC_LISTS_H
  35. #include    <exec/lists.h>
  36. #endif
  37.  
  38.  
  39. STRUCT   KeyMap  
  40.     ADDRESS   km_LoKeyMapTypes 
  41.     ADDRESS   km_LoKeyMap 
  42.     ADDRESS   km_LoCapsable 
  43.     ADDRESS   km_LoRepeatable 
  44.     ADDRESS   km_HiKeyMapTypes 
  45.     ADDRESS   km_HiKeyMap 
  46.     ADDRESS   km_HiCapsable 
  47.     ADDRESS   km_HiRepeatable 
  48. END STRUCT 
  49.  
  50. STRUCT  KeyMapNode  
  51.     Node kn_Node     /* including name of keymap */
  52.     KeyMap kn_KeyMap 
  53. END STRUCT 
  54.  
  55. /* the structure of keymap.resource */
  56. STRUCT  KeyMapResource  
  57.     Node kr_Node 
  58.     _List kr_List     /* a list of KeyMapNodes */
  59. END STRUCT 
  60.  
  61. /* Key Map Types */
  62. #define  KC_NOQUAL   0
  63. #define  KC_VANILLA  7      /* note that SHIFT+ALT+CTRL is VANILLA */
  64. #define  KCB_SHIFT   0
  65. #define  KCF_SHIFT   &H01
  66. #define  KCB_ALT     1
  67. #define  KCF_ALT     &H02
  68. #define  KCB_CONTROL 2
  69. #define  KCF_CONTROL &H04
  70. #define  KCB_DOWNUP  3
  71. #define  KCF_DOWNUP  &H08
  72.  
  73. #define  KCB_DEAD    5      /* may be dead or modified by dead key: */
  74. #define  KCF_DEAD    &H20   /*   use dead prefix bytes      */
  75.  
  76. #define  KCB_STRING  6
  77. #define  KCF_STRING  &H40
  78.  
  79. #define  KCB_NOP     7
  80. #define  KCF_NOP     &H80
  81.  
  82.  
  83. /* Dead Prefix Bytes */
  84. #define DPB_MOD 0
  85. #define DPF_MOD &H01
  86. #define DPB_DEAD    3
  87. #define DPF_DEAD    &H08
  88.  
  89. #define DP_2DINDEXMASK  &H0f    /* mask for index for 1st of two dead keys */
  90. #define DP_2DFACSHIFT   4   /* shift for factor for 1st of two dead keys */
  91.  
  92. #endif  /* DEVICES_KEYMAP_H */
  93.